1. Field of the Invention
This invention generally relates to digital communication systems and, more particularly, to a system and method for converting multichannel serial data streams into packet network communications.
2. Description of the Related Art
Conventionally, voice has been carried over Time Division Multiplexed (TDM) networks, such as E1/T1/E3/T3 and SDH/SONET networks. The emergence of packet data communications, such as Internet Protocol (IP) networks, has led to the convergence of TDM traffic into the IP networks. Packet networks, which were initially designed to carry time-insensitive data traffic, are not designed to address the concerns of real-time services like voice and video, which are conventionally carried over TDM networks.
Digital transport networks evolved as isolated links connecting analog switching systems for analog Public Switched Telephone Networks (PSTNs). Originally, digitized voice channels were multiplexed onto serial streams, framed, and line coded with completely unsynchronized clocks. Digital communications evolved to Plesiochronous Digital Hierarchy (PDH), which permits clock rates of interfacing streams to vary from a nominal value with a given tolerance. The variance is resolved by elastic stores and, in higher multiplexing rates, by bit stuffing. There are three closely related standards for digital trunks of primary rate, E1-E3 (Asia and Europe), the T1-T3 (North America), and J1-J3 (Japan). In a PDH transmission chain, a plurality of lower level digital signals are bit-wise, or bit and byte-wise time division multiplexed together to form a higher level signal, with the bit rate of the higher level signal being greater than the sum of the rates of the tributary signals to account for overhead functions in the higher rate signal, such as framing, parity, error detection, alarms, maintenance, and timing adjustment.
The bits of each lower level digital signal are written into an input buffer (one buffer per input tributary), with the write frequency equal to the incoming tributary instantaneous bit rate. The tributary bits are then read, according to a local system clock, and multiplexed by bit-interleaving or byte-interleaving. To take care of deviation in the rates between different tributaries and the multiplex signal, certain bit positions within the output multiplex frame (justification or stuffing opportunity bits) can carry either tributary or dummy bits. The justification decision (i.e., if the stuffing opportunity bit should carry information or be a dummy) is made frame-by-frame on the basis of a buffer threshold mechanism. Therefore, the actual number of tributary bits in the output multiplex frame varies dynamically and the transmission capacity gets adapted to the actual bit rate of the incoming tributary.
In a TDM format, data is transported in small chunks at a regular rate. The data stream is at a more or less uniform rate, with only small perturbations, which occur due to rate adaptation mechanisms within the network, or due to impairments in the network. Within such a network transport, applications must maintain the uniformity of the data rate to within tight specifications, which is generally done using a phase conditioning circuit in the transmit path. Such a phase conditioning circuit works by storing data in a buffer and playing it out to a mapper at a regulated rate. In order to maintain low latency requirements, the buffer is small (of the order of several bytes).
Since PDH networks work on independent clocking mechanisms, the differences in clock rates result in buffer slips, whose effect is negligible in voice conversations, but detrimental to data and video traffic. To address this problem, network architectures (SDH/SONET) have been adopted where all the network elements are synchronized and running at the same average frequency. Transient variations are accommodated by a mechanism called pointer adjustments.
In SONET, the base signal is referred to as Synchronous Transport Signal level-1 (STS-1), which operates at 51.84 Mb/s. Higher-level signals are integer multiples of STS-1, creating the family of STS-N signals, for N=1, 3, 12, 48, 192, & 768. An STS-N signal is composed of N byte-interleaved STS-1 signals. The optical counterpart for each STS-N signal is designated as OC-N (Optical Carrier level-N). TDM traffic is mapped onto an SPE (SONET) or a virtual container (SDH), which in turn is associated with Path Overhead (POH) to form an Administrative Unit in SDH. The pointer mechanism is used to take care of the asynchronous phase of the SONET/SDH traffic and also to compensate for frequency offsets between transmission systems.
FIG. 1 depicts a single channel device for converting a TDM stream into packets (prior art). The TDM data are available as a bit-serial data stream. This data stream can be an incoming data stream (e.g., a DS-1 or E-1 stream of data), or it can be demapped from a multiplexed format. Here, a demapper is not shown. The data stream may also be desynchronized from the mapped structure. In this case, there may be a “smooth” clock accompanying the data stream at the rate of the data. If the data are only demapped and not desynchronized, the data may be carried by the clock of the multiplexed format, with gaps to accommodate the different rate.
The bit serial stream is packed into bytes by data packer 100, which are put into a byte FIFO 102. When a sufficient number of bytes are accumulated to form a packet payload, the payload is transmitted by the packet interface logic 104, which also adds a suitable header to the data to form the entire packet. The header information may include cycle redundancy check (CRC) checksum information. Alternately, the packet interface logic 104 may calculate the CRC as the packet is transmitted. In the system of FIG. 1, it is possible to transmit the packet immediately after a payload full of bytes is accumulated.
FIG. 2 depicts a system for packing a multichannel stream of TDM data into a packet format (prior art). The TDM stream containing many channels is demapped by demapper 200 into individual bit-streams. Each stream is then packed into bytes by a corresponding packer 202 and the bytes are put into byte FIFOs 204, one per channel. Each FIFO 204 is typically larger than just one packet-payload. A scheduler 206 is then used to poll each FIFO to see if it has accumulated a packet-payload worth of bytes. Typically, a round-robin scheme may be used to poll the channels. If the FIFO for a channel has enough bytes when it is polled, control is passed to the packet interface logic 208, which adds a header and transmits the packet. The next channel is then polled.
The scheme of FIG. 2 works because the overall available bandwidth on the packet interface is much larger than the bandwidth of any one TDM stream, and is also larger than the combined bandwidth of all the TDM streams being packed. In fact, the bandwidth on the packet interface is typically greater than the combined bandwidth of all the TDM streams being packetized, plus the bandwidth needed for any overhead that is added to the payloads to form the packet. Therefore, despite the pauses associated with the polling routine, overall, the round robin scheme is able to keep up with the accumulation of packet-payloads from the various TDM streams.
A multichannel TDM stream (e.g., an STS-3 or STS-12 SONET stream containing many DS-1s and/or E-1s) may contain an arbitrary distribution of rates in the different channels. The rates of the different channels are generally not known a-priori. Therefore, it is not possible to set up a polling schedule which favors higher-speed channels or chooses channels in some other manner. It is therefore common to pick a straightforward round-robin scheme. Alternately stated, if a stream carries higher-rate data, it should be given more polling chances. However, a system such as the one shown in FIG. 2 cannot poll a higher-rate channel more often unless the rates in the various channels are precisely known beforehand.
As a result, some of the timing information inherently contained in the TDM streams may be lost in the process of packetizing. For example, if a first channel is only 1 byte short of a packet payload worth of data when it is polled, the scheduler can go on to the next channel, and will only service the first channel when it comes back around to it in rotation. Depending on the number of channels and the specific polling scheme, this process imposes a “waiting-time” on the packet transmission. This waiting time depends on the interaction between the polling schedule and the TDM rates. This waiting time can result in a phenomenon similar to waiting time jitter, or more generally, phase deviation. As used herein, the term jitter refers to phase-deviation at all frequencies. Jitter is a problem commonly associated with the bit-stuffing mechanisms for mappers, but in this scenario the magnitude of the jitter is greater as compared to bit-stuffing, because of the multi-byte packets. The timing of each TDM stream is impaired by this process.
It would be advantageous if a system could packetize multichannel serial data streams or TDM streams while better preserving the timing of the various streams.